package com.clientes;

import java.util.List;

import org.json.JSONArray;


import android.app.Activity;
import android.app.ProgressDialog;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.AdapterView;
import android.widget.ImageButton;
import android.widget.ListView;
import android.widget.Toast;


import com.eventos.GestorTipoEvento;
import com.eventos.PuntosVentaBean;
import com.eventos.TipoEventoAdapter;
import com.eventos.TipoEventoBean;
import com.eventssmartphone.*;

public class ActivityListadoPuntoVentas extends Activity implements OnItemClickListener, OnClickListener,JSONReaderListener{
	ListView lista;
	ImageButton buscar;
	LocalVentaBean puntobuscar; 
	List<LocalVentaBean> listaLocales;
	ProgressDialog myProgressDialog = null;
	static int id=0;
	
	/**
	 * @see android.app.Activity#onCreate(Bundle)
	 */
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.cl_listalocalesventas);		
		  Bundle b = getIntent().getExtras();
	        id = b.getInt("id");
	        //Log.i("lista puntos", id + "");  		
			        lista = (ListView) findViewById(R.id.listaLocales2);

		 // Display an indeterminate Progress-Dialog
       	try{

        GestorPuntoVenta.getInstance().dameLocales(id, this);

		puntobuscar=new LocalVentaBean();
		
		  
        if (listaLocales.size()==0) {
        	Toast.makeText(this, "No se encontraron resultados para la búsqueda.", Toast.LENGTH_SHORT).show();
        }
		} catch (Exception e){
			//Toast.makeText(this, "Error!. Revise su conexión a Internet.", Toast.LENGTH_SHORT).show();
			 myProgressDialog.dismiss();
		}
		
        
	}
	
	public void onItemClick(AdapterView<?> adapter, View view, int position, long id) {
		//LocalVentaBean local = (LocalVentaBean)adapter.getItemAtPosition(position);
		Log.i("ejm", "mapa 1 " );
		//Toast.makeText(this, "Se seleccionó mapa:"+ ActivityLogin.usuario, Toast.LENGTH_LONG).show();
		
		LocalVentaBean punto = (LocalVentaBean)adapter.getItemAtPosition(position);
		//Log.i("xxx", punto.getDescripcion()  );
		
		Double x = punto.getX();
        Double y = punto.getY();
	
		punto.setX(x);
		punto.setY(y);
		
		
		
		Intent intent = new Intent();
		//Log.i("ejm", "mapa 2 " );
		intent.setClass(this, ActivityVerMapa.class);
		Bundle b = new Bundle();
		
		b.putString("nombre", punto.getNombreLocal()); 
		b.putString("direccion",punto.getDireccionLocal() );
		b.putDouble("x", punto.getX());
		b.putDouble("y",punto.getY());
		Log.i("ejm", "mapa 2 " );
		intent.putExtras(b);
		
		
		startActivity(intent);
		
		
	}
	
	public void onClick(View v) {
		
		if (v.getId() == R.id.listaLocales2){
			Log.i("ejm", "ver mapa" );
			//Toast.makeText(this, "Cargando Mapa", Toast.LENGTH_LONG).show();
			
			
			
			Intent intent = new Intent();
			
			
			
			intent.setClass(this, ActivityVerMapa.class);
			
			/*Bundle b = new Bundle();
			b.putString("nombre", "Metro" ); 
			b.putString("direccion", "universitaria" ); 
			intent.putExtras(b);
			
			*/
			startActivity(intent);
						
		}
	}

	public boolean filtrar (String str){
		boolean valor =true;
		if (str.indexOf("/")!=-1) valor=false;
		if (str.indexOf("#")!=-1) valor=false;
		if (str.indexOf(";")!=-1) valor=false;
		if (str.indexOf(":")!=-1) valor=false;
		if (str.indexOf("?")!=-1) valor=false;
		return valor;
	}
	
	@Override
	public void onConnected() {
		myProgressDialog = ProgressDialog.show(this, "Cargando...", "Por favor esperar...", true);
	}
 
	@Override
	public void onSent() {
		// TODO Auto-generated method stub
		myProgressDialog.setMessage("Procesando datos...");
	}

	@Override
	public void onFinished(JSONArray jArray) {
		try {
			listaLocales = GestorPuntoVenta.getInstance().procesarDamePuntos(jArray, id);
			
		      Log.i("cargar", "- "+listaLocales.size());
		     LocalVentaAdapter adapter = new LocalVentaAdapter(listaLocales, this);
				
				lista.setAdapter(adapter);
				lista.setOnItemClickListener(this);
										
						
			if (listaLocales.size()==0) {
				Toast.makeText(this, "No existe ningun punto de venta en esta ciudad.", Toast.LENGTH_SHORT).show();
	        }
			
		} catch (Exception e){
	    	Toast.makeText(this, "Error. Revise su conexión a Internet.", Toast.LENGTH_SHORT).show();
		} 
			
		myProgressDialog.dismiss();
		
	}

	
	
}
